Promise.any = function (PromiseArr) {
    let i = 0 // 用来记录PromiseArr中失败的个数
    return new Promise((resolve, reject) => { // any方法会返回一个新的promise对象
        PromiseArr.forEach((item, index) => { // 遍历PromiseArr数组
            Promise.resolve(item).then(val => { // 利用resolve方法将PromiseArr数组中的每个元素都变为promise对象
                resolve(val) // 只要有一个成功，立即成功
            }, err => {
                i++ // 记录失败的次数
                if (i === PromiseArr.length) { // 当数组中全部失败时
                    reject(new AggregateError('All promises were rejected'))
                }
            })
        })
    })
}